Transport Layer Security (TLS) is a known technology used in digital networks to establish and carry out secure communication between two entities. The communicating entities can be devices such as computers or other electronic apparatuses capable of digital communication, and the two entities may be communicating as peers or in a client/server configuration. TLS is implemented using digital certificates which, through public key cryptography (i.e., using public key infrastructure, PKI) and a common trusted entity, enable one or both of the communicating entities to authenticate the other and enable the two entities to exchange information confidentially. Secure Socket Layers (SSL) is an earlier form or predecessor of TLS that has been widely used over the Internet.
TLS is commonly used in TCP/IP networks using X.509 digital certificates which are typically issued by a trusted third party certificate authority (CA) and signed with the CA's private key. The holder (subject) of the certificate can then use it to authenticate itself to other entities. The associated CA public key is distributed to those entities as a part of a self-signed certificate. Authentication of a received digital certificate then involves using the CA's public key to decrypt the digital signature and compare the result to the contents actually contained in the certificate. More specifically, when the certificate is originally signed, a hash is performed of the certificate's contents and the result is encrypted using the CA's private key. This encrypted result is used as the digital signature and is appended to the certificate. Then, to authenticate, a recipient of the certificate uses the public key to decrypt the hash, and then compares this decrypted hash result with its own hash of the received certificate data items that it takes using the same hash function. If the two results match, then this indicates that the contents of the certificate are authentic. That authenticated content includes the certificate holder's (subject's) identity and public key so that the recipient of the certificate can now know that the identity is authentic and can communicate confidentially with the subject using its public key.